package hk.linkcredit.walletservice.wallet.service;

import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import hk.linkcredit.walletservice.wallet.domain.entity.WalletAmount;
import hk.linkcredit.walletservice.wallet.domain.vo.WalletAccountInfo;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 钱包金额表 服务类
 * </p>
 *
 * @author LinkCredit
 * @since 2022-06-10 01:23:44
 */
public interface WalletAmountService extends IService<WalletAmount> {

    void freezeWalletAmt(String walletType, BigDecimal amount, WalletAccountInfo walletAccount);

    void freezeWalletAmt(JSONObject repayAmtSplit, WalletAccountInfo walletAccount);

    void unfreezeWalletAmount(WalletAmount walletAmount);

    void updateWalletAccountAmount(String walletType, BigDecimal amount, WalletAccountInfo walletAccountInfo);

    void deductionWalletAmount(WalletAmount walletAmount);

    List<String> getCustomersWithBalance();
}
